<!DOCTYPE html><html><head>
      <title>07</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <style>
      /*!
* reveal.js 4.0.2
* https://revealjs.com
* MIT licensed
*
* Copyright (C) 2020 Hakim El Hattab, https://hakim.se
*/
.reveal .r-stretch,.reveal .stretch{max-width:none;max-height:none}.reveal pre.r-stretch code,.reveal pre.stretch code{height:100%;max-height:100%;box-sizing:border-box}.reveal .r-fit-text{display:inline-block;white-space:nowrap}.reveal .r-stack{display:grid}.reveal .r-stack>*{grid-area:1/1;margin:auto}.reveal .r-hstack,.reveal .r-vstack{display:flex}.reveal .r-hstack img,.reveal .r-hstack video,.reveal .r-vstack img,.reveal .r-vstack video{min-width:0;min-height:0;-o-object-fit:contain;object-fit:contain}.reveal .r-vstack{flex-direction:column;align-items:center;justify-content:center}.reveal .r-hstack{flex-direction:row;align-items:center;justify-content:center}.reveal .items-stretch{align-items:stretch}.reveal .items-start{align-items:flex-start}.reveal .items-center{align-items:center}.reveal .items-end{align-items:flex-end}.reveal .justify-between{justify-content:space-between}.reveal .justify-around{justify-content:space-around}.reveal .justify-start{justify-content:flex-start}.reveal .justify-center{justify-content:center}.reveal .justify-end{justify-content:flex-end}html.reveal-full-page{width:100%;height:100%;height:100vh;height:calc(var(--vh,1vh) * 100);overflow:hidden}.reveal-viewport{height:100%;overflow:hidden;position:relative;line-height:1;margin:0;background-color:#fff;color:#000}.reveal .slides section .fragment{opacity:0;visibility:hidden;transition:all .2s ease;will-change:opacity}.reveal .slides section .fragment.visible{opacity:1;visibility:inherit}.reveal .slides section .fragment.disabled{transition:none}.reveal .slides section .fragment.grow{opacity:1;visibility:inherit}.reveal .slides section .fragment.grow.visible{transform:scale(1.3)}.reveal .slides section .fragment.shrink{opacity:1;visibility:inherit}.reveal .slides section .fragment.shrink.visible{transform:scale(.7)}.reveal .slides section .fragment.zoom-in{transform:scale(.1)}.reveal .slides section .fragment.zoom-in.visible{transform:none}.reveal .slides section .fragment.fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-out.visible{opacity:0;visibility:hidden}.reveal .slides section .fragment.semi-fade-out{opacity:1;visibility:inherit}.reveal .slides section .fragment.semi-fade-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.strike{opacity:1;visibility:inherit}.reveal .slides section .fragment.strike.visible{text-decoration:line-through}.reveal .slides section .fragment.fade-up{transform:translate(0,40px)}.reveal .slides section .fragment.fade-up.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-down{transform:translate(0,-40px)}.reveal .slides section .fragment.fade-down.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-right{transform:translate(-40px,0)}.reveal .slides section .fragment.fade-right.visible{transform:translate(0,0)}.reveal .slides section .fragment.fade-left{transform:translate(40px,0)}.reveal .slides section .fragment.fade-left.visible{transform:translate(0,0)}.reveal .slides section .fragment.current-visible,.reveal .slides section .fragment.fade-in-then-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.current-visible.current-fragment,.reveal .slides section .fragment.fade-in-then-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out{opacity:0;visibility:hidden}.reveal .slides section .fragment.fade-in-then-semi-out.visible{opacity:.5;visibility:inherit}.reveal .slides section .fragment.fade-in-then-semi-out.current-fragment{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-blue,.reveal .slides section .fragment.highlight-current-blue,.reveal .slides section .fragment.highlight-current-green,.reveal .slides section .fragment.highlight-current-red,.reveal .slides section .fragment.highlight-green,.reveal .slides section .fragment.highlight-red{opacity:1;visibility:inherit}.reveal .slides section .fragment.highlight-red.visible{color:#ff2c2d}.reveal .slides section .fragment.highlight-green.visible{color:#17ff2e}.reveal .slides section .fragment.highlight-blue.visible{color:#1b91ff}.reveal .slides section .fragment.highlight-current-red.current-fragment{color:#ff2c2d}.reveal .slides section .fragment.highlight-current-green.current-fragment{color:#17ff2e}.reveal .slides section .fragment.highlight-current-blue.current-fragment{color:#1b91ff}.reveal:after{content:'';font-style:italic}.reveal iframe{z-index:1}.reveal a{position:relative}@keyframes bounce-right{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(10px)}30%{transform:translateX(-5px)}}@keyframes bounce-left{0%,10%,25%,40%,50%{transform:translateX(0)}20%{transform:translateX(-10px)}30%{transform:translateX(5px)}}@keyframes bounce-down{0%,10%,25%,40%,50%{transform:translateY(0)}20%{transform:translateY(10px)}30%{transform:translateY(-5px)}}.reveal .controls{display:none;position:absolute;top:auto;bottom:12px;right:12px;left:auto;z-index:11;color:#000;pointer-events:none;font-size:10px}.reveal .controls button{position:absolute;padding:0;background-color:transparent;border:0;outline:0;cursor:pointer;color:currentColor;transform:scale(.9999);transition:color .2s ease,opacity .2s ease,transform .2s ease;z-index:2;pointer-events:auto;font-size:inherit;visibility:hidden;opacity:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.reveal .controls .controls-arrow:after,.reveal .controls .controls-arrow:before{content:'';position:absolute;top:0;left:0;width:2.6em;height:.5em;border-radius:.25em;background-color:currentColor;transition:all .15s ease,background-color .8s ease;transform-origin:.2em 50%;will-change:transform}.reveal .controls .controls-arrow{position:relative;width:3.6em;height:3.6em}.reveal .controls .controls-arrow:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal .controls .controls-arrow:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}.reveal .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(40deg)}.reveal .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-40deg)}.reveal .controls .controls-arrow:active:before{transform:translateX(.5em) translateY(1.55em) rotate(36deg)}.reveal .controls .controls-arrow:active:after{transform:translateX(.5em) translateY(1.55em) rotate(-36deg)}.reveal .controls .navigate-left{right:6.4em;bottom:3.2em;transform:translateX(-10px)}.reveal .controls .navigate-left.highlight{animation:bounce-left 2s 50 both ease-out}.reveal .controls .navigate-right{right:0;bottom:3.2em;transform:translateX(10px)}.reveal .controls .navigate-right .controls-arrow{transform:rotate(180deg)}.reveal .controls .navigate-right.highlight{animation:bounce-right 2s 50 both ease-out}.reveal .controls .navigate-up{right:3.2em;bottom:6.4em;transform:translateY(-10px)}.reveal .controls .navigate-up .controls-arrow{transform:rotate(90deg)}.reveal .controls .navigate-down{right:3.2em;bottom:-1.4em;padding-bottom:1.4em;transform:translateY(10px)}.reveal .controls .navigate-down .controls-arrow{transform:rotate(-90deg)}.reveal .controls .navigate-down.highlight{animation:bounce-down 2s 50 both ease-out}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled{opacity:.3}.reveal .controls[data-controls-back-arrows=faded] .navigate-up.enabled:hover{opacity:1}.reveal .controls[data-controls-back-arrows=hidden] .navigate-up.enabled{opacity:0;visibility:hidden}.reveal .controls .enabled{visibility:visible;opacity:.9;cursor:pointer;transform:none}.reveal .controls .enabled.fragmented{opacity:.5}.reveal .controls .enabled.fragmented:hover,.reveal .controls .enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled{opacity:.3}.reveal:not(.rtl) .controls[data-controls-back-arrows=faded] .navigate-left.enabled:hover{opacity:1}.reveal:not(.rtl) .controls[data-controls-back-arrows=hidden] .navigate-left.enabled{opacity:0;visibility:hidden}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled{opacity:.3}.reveal.rtl .controls[data-controls-back-arrows=faded] .navigate-right.enabled:hover{opacity:1}.reveal.rtl .controls[data-controls-back-arrows=hidden] .navigate-right.enabled{opacity:0;visibility:hidden}.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-down,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-up{display:none}.reveal:not(.has-vertical-slides) .controls .navigate-left,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-left{bottom:1.4em;right:5.5em}.reveal:not(.has-vertical-slides) .controls .navigate-right,.reveal[data-navigation-mode=linear].has-horizontal-slides .navigate-right{bottom:1.4em;right:.5em}.reveal:not(.has-horizontal-slides) .controls .navigate-up{right:1.4em;bottom:5em}.reveal:not(.has-horizontal-slides) .controls .navigate-down{right:1.4em;bottom:.5em}.reveal.has-dark-background .controls{color:#fff}.reveal.has-light-background .controls{color:#000}.reveal.no-hover .controls .controls-arrow:active:before,.reveal.no-hover .controls .controls-arrow:hover:before{transform:translateX(.5em) translateY(1.55em) rotate(45deg)}.reveal.no-hover .controls .controls-arrow:active:after,.reveal.no-hover .controls .controls-arrow:hover:after{transform:translateX(.5em) translateY(1.55em) rotate(-45deg)}@media screen and (min-width:500px){.reveal .controls[data-controls-layout=edges]{top:0;right:0;bottom:0;left:0}.reveal .controls[data-controls-layout=edges] .navigate-down,.reveal .controls[data-controls-layout=edges] .navigate-left,.reveal .controls[data-controls-layout=edges] .navigate-right,.reveal .controls[data-controls-layout=edges] .navigate-up{bottom:auto;right:auto}.reveal .controls[data-controls-layout=edges] .navigate-left{top:50%;left:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-right{top:50%;right:.8em;margin-top:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.8em;left:50%;margin-left:-1.8em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:-.3em;left:50%;margin-left:-1.8em}}.reveal .progress{position:absolute;display:none;height:3px;width:100%;bottom:0;left:0;z-index:10;background-color:rgba(0,0,0,.2);color:#fff}.reveal .progress:after{content:'';display:block;position:absolute;height:10px;width:100%;top:-10px}.reveal .progress span{display:block;height:100%;width:100%;background-color:currentColor;transition:transform .8s cubic-bezier(.26,.86,.44,.985);transform-origin:0 0;transform:scaleX(0)}.reveal .slide-number{position:absolute;display:block;right:8px;bottom:8px;z-index:31;font-family:Helvetica,sans-serif;font-size:12px;line-height:1;color:#fff;background-color:rgba(0,0,0,.4);padding:5px}.reveal .slide-number a{color:currentColor}.reveal .slide-number-delimiter{margin:0 3px}.reveal{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pinch-zoom}.reveal.embedded{touch-action:pan-y}.reveal .slides{position:absolute;width:100%;height:100%;top:0;right:0;bottom:0;left:0;margin:auto;pointer-events:none;overflow:visible;z-index:1;text-align:center;perspective:600px;perspective-origin:50% 40%}.reveal .slides>section{perspective:600px}.reveal .slides>section,.reveal .slides>section>section{display:none;position:absolute;width:100%;pointer-events:auto;z-index:10;transform-style:flat;transition:transform-origin .8s cubic-bezier(.26,.86,.44,.985),transform .8s cubic-bezier(.26,.86,.44,.985),visibility .8s cubic-bezier(.26,.86,.44,.985),opacity .8s cubic-bezier(.26,.86,.44,.985)}.reveal[data-transition-speed=fast] .slides section{transition-duration:.4s}.reveal[data-transition-speed=slow] .slides section{transition-duration:1.2s}.reveal .slides section[data-transition-speed=fast]{transition-duration:.4s}.reveal .slides section[data-transition-speed=slow]{transition-duration:1.2s}.reveal .slides>section.stack{padding-top:0;padding-bottom:0;pointer-events:none;height:100%}.reveal .slides>section.present,.reveal .slides>section>section.present{display:block;z-index:11;opacity:1}.reveal .slides>section:empty,.reveal .slides>section>section:empty,.reveal .slides>section>section[data-background-interactive],.reveal .slides>section[data-background-interactive]{pointer-events:none}.reveal.center,.reveal.center .slides,.reveal.center .slides section{min-height:0!important}.reveal .slides>section:not(.present),.reveal .slides>section>section:not(.present){pointer-events:none}.reveal.overview .slides>section,.reveal.overview .slides>section>section{pointer-events:auto}.reveal .slides>section.future,.reveal .slides>section.past,.reveal .slides>section>section.future,.reveal .slides>section>section.past{opacity:0}.reveal.slide section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=slide].past,.reveal .slides>section[data-transition~=slide-out].past,.reveal.slide .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=slide].future,.reveal .slides>section[data-transition~=slide-in].future,.reveal.slide .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=slide].past,.reveal .slides>section>section[data-transition~=slide-out].past,.reveal.slide .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=slide].future,.reveal .slides>section>section[data-transition~=slide-in].future,.reveal.slide .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal.linear section{-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .slides>section[data-transition=linear].past,.reveal .slides>section[data-transition~=linear-out].past,.reveal.linear .slides>section:not([data-transition]).past{transform:translate(-150%,0)}.reveal .slides>section[data-transition=linear].future,.reveal .slides>section[data-transition~=linear-in].future,.reveal.linear .slides>section:not([data-transition]).future{transform:translate(150%,0)}.reveal .slides>section>section[data-transition=linear].past,.reveal .slides>section>section[data-transition~=linear-out].past,.reveal.linear .slides>section>section:not([data-transition]).past{transform:translate(0,-150%)}.reveal .slides>section>section[data-transition=linear].future,.reveal .slides>section>section[data-transition~=linear-in].future,.reveal.linear .slides>section>section:not([data-transition]).future{transform:translate(0,150%)}.reveal .slides section[data-transition=default].stack,.reveal.default .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=default].past,.reveal .slides>section[data-transition~=default-out].past,.reveal.default .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=default].future,.reveal .slides>section[data-transition~=default-in].future,.reveal.default .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=default].past,.reveal .slides>section>section[data-transition~=default-out].past,.reveal.default .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=default].future,.reveal .slides>section>section[data-transition~=default-in].future,.reveal.default .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=convex].stack,.reveal.convex .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=convex].past,.reveal .slides>section[data-transition~=convex-out].past,.reveal.convex .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=convex].future,.reveal .slides>section[data-transition~=convex-in].future,.reveal.convex .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=convex].past,.reveal .slides>section>section[data-transition~=convex-out].past,.reveal.convex .slides>section>section:not([data-transition]).past{transform:translate3d(0,-300px,0) rotateX(70deg) translate3d(0,-300px,0)}.reveal .slides>section>section[data-transition=convex].future,.reveal .slides>section>section[data-transition~=convex-in].future,.reveal.convex .slides>section>section:not([data-transition]).future{transform:translate3d(0,300px,0) rotateX(-70deg) translate3d(0,300px,0)}.reveal .slides section[data-transition=concave].stack,.reveal.concave .slides section.stack{transform-style:preserve-3d}.reveal .slides>section[data-transition=concave].past,.reveal .slides>section[data-transition~=concave-out].past,.reveal.concave .slides>section:not([data-transition]).past{transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal .slides>section[data-transition=concave].future,.reveal .slides>section[data-transition~=concave-in].future,.reveal.concave .slides>section:not([data-transition]).future{transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal .slides>section>section[data-transition=concave].past,.reveal .slides>section>section[data-transition~=concave-out].past,.reveal.concave .slides>section>section:not([data-transition]).past{transform:translate3d(0,-80%,0) rotateX(-70deg) translate3d(0,-80%,0)}.reveal .slides>section>section[data-transition=concave].future,.reveal .slides>section>section[data-transition~=concave-in].future,.reveal.concave .slides>section>section:not([data-transition]).future{transform:translate3d(0,80%,0) rotateX(70deg) translate3d(0,80%,0)}.reveal .slides section[data-transition=zoom],.reveal.zoom .slides section:not([data-transition]){transition-timing-function:ease}.reveal .slides>section[data-transition=zoom].past,.reveal .slides>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section:not([data-transition]).past{visibility:hidden;transform:scale(16)}.reveal .slides>section[data-transition=zoom].future,.reveal .slides>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section:not([data-transition]).future{visibility:hidden;transform:scale(.2)}.reveal .slides>section>section[data-transition=zoom].past,.reveal .slides>section>section[data-transition~=zoom-out].past,.reveal.zoom .slides>section>section:not([data-transition]).past{transform:scale(16)}.reveal .slides>section>section[data-transition=zoom].future,.reveal .slides>section>section[data-transition~=zoom-in].future,.reveal.zoom .slides>section>section:not([data-transition]).future{transform:scale(.2)}.reveal.cube .slides{perspective:1300px}.reveal.cube .slides section{padding:30px;min-height:700px;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;transform-style:preserve-3d}.reveal.center.cube .slides section{min-height:0}.reveal.cube .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);border-radius:4px;transform:translateZ(-20px)}.reveal.cube .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);transform:translateZ(-90px) rotateX(65deg)}.reveal.cube .slides>section.stack{padding:0;background:0 0}.reveal.cube .slides>section.past{transform-origin:100% 0;transform:translate3d(-100%,0,0) rotateY(-90deg)}.reveal.cube .slides>section.future{transform-origin:0 0;transform:translate3d(100%,0,0) rotateY(90deg)}.reveal.cube .slides>section>section.past{transform-origin:0 100%;transform:translate3d(0,-100%,0) rotateX(90deg)}.reveal.cube .slides>section>section.future{transform-origin:0 0;transform:translate3d(0,100%,0) rotateX(-90deg)}.reveal.page .slides{perspective-origin:0 50%;perspective:3000px}.reveal.page .slides section{padding:30px;min-height:700px;box-sizing:border-box;transform-style:preserve-3d}.reveal.page .slides section.past{z-index:12}.reveal.page .slides section:not(.stack):before{content:'';position:absolute;display:block;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.1);transform:translateZ(-20px)}.reveal.page .slides section:not(.stack):after{content:'';position:absolute;display:block;width:90%;height:30px;left:5%;bottom:0;background:0 0;z-index:1;border-radius:4px;box-shadow:0 95px 25px rgba(0,0,0,.2);-webkit-transform:translateZ(-90px) rotateX(65deg)}.reveal.page .slides>section.stack{padding:0;background:0 0}.reveal.page .slides>section.past{transform-origin:0 0;transform:translate3d(-40%,0,0) rotateY(-80deg)}.reveal.page .slides>section.future{transform-origin:100% 0;transform:translate3d(0,0,0)}.reveal.page .slides>section>section.past{transform-origin:0 0;transform:translate3d(0,-40%,0) rotateX(80deg)}.reveal.page .slides>section>section.future{transform-origin:0 100%;transform:translate3d(0,0,0)}.reveal .slides section[data-transition=fade],.reveal.fade .slides section:not([data-transition]),.reveal.fade .slides>section>section:not([data-transition]){transform:none;transition:opacity .5s}.reveal.fade.overview .slides section,.reveal.fade.overview .slides>section>section{transition:none}.reveal .slides section[data-transition=none],.reveal.none .slides section:not([data-transition]){transform:none;transition:none}.reveal .pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#000;visibility:hidden;opacity:0;z-index:100;transition:all 1s ease}.reveal .pause-overlay .resume-button{position:absolute;bottom:20px;right:20px;color:#ccc;border-radius:2px;padding:6px 14px;border:2px solid #ccc;font-size:16px;background:0 0;cursor:pointer}.reveal .pause-overlay .resume-button:hover{color:#fff;border-color:#fff}.reveal.paused .pause-overlay{visibility:visible;opacity:1}.reveal .no-transition,.reveal .no-transition *,.reveal .slides.disable-slide-transitions section{transition:none!important}.reveal .slides.disable-slide-transitions section{transform:none!important}.reveal .backgrounds{position:absolute;width:100%;height:100%;top:0;left:0;perspective:600px}.reveal .slide-background{display:none;position:absolute;width:100%;height:100%;opacity:0;visibility:hidden;overflow:hidden;background-color:rgba(0,0,0,0);transition:all .8s cubic-bezier(.26,.86,.44,.985)}.reveal .slide-background-content{position:absolute;width:100%;height:100%;background-position:50% 50%;background-repeat:no-repeat;background-size:cover}.reveal .slide-background.stack{display:block}.reveal .slide-background.present{opacity:1;visibility:visible;z-index:2}.print-pdf .reveal .slide-background{opacity:1!important;visibility:visible!important}.reveal .slide-background video{position:absolute;width:100%;height:100%;max-width:none;max-height:none;top:0;left:0;-o-object-fit:cover;object-fit:cover}.reveal .slide-background[data-background-size=contain] video{-o-object-fit:contain;object-fit:contain}.reveal>.backgrounds .slide-background[data-background-transition=none],.reveal[data-background-transition=none]>.backgrounds .slide-background{transition:none}.reveal>.backgrounds .slide-background[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background{opacity:1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal>.backgrounds .slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.past{transform:translate(-100%,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background.future{transform:translate(100%,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.past{transform:translate(0,-100%)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=slide],.reveal[data-background-transition=slide]>.backgrounds .slide-background>.slide-background.future{transform:translate(0,100%)}.reveal>.backgrounds .slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.past{opacity:0;transform:translate3d(-100%,0,0) rotateY(-90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background.future{opacity:0;transform:translate3d(100%,0,0) rotateY(90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.past{opacity:0;transform:translate3d(0,-100%,0) rotateX(90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=convex],.reveal[data-background-transition=convex]>.backgrounds .slide-background>.slide-background.future{opacity:0;transform:translate3d(0,100%,0) rotateX(-90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.past{opacity:0;transform:translate3d(-100%,0,0) rotateY(90deg) translate3d(-100%,0,0)}.reveal>.backgrounds .slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background.future{opacity:0;transform:translate3d(100%,0,0) rotateY(-90deg) translate3d(100%,0,0)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.past{opacity:0;transform:translate3d(0,-100%,0) rotateX(-90deg) translate3d(0,-100%,0)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=concave],.reveal[data-background-transition=concave]>.backgrounds .slide-background>.slide-background.future{opacity:0;transform:translate3d(0,100%,0) rotateX(90deg) translate3d(0,100%,0)}.reveal>.backgrounds .slide-background[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background{transition-timing-function:ease}.reveal>.backgrounds .slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.past{opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background.future{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.backgrounds .slide-background>.slide-background.past[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.past{opacity:0;visibility:hidden;transform:scale(16)}.reveal>.backgrounds .slide-background>.slide-background.future[data-background-transition=zoom],.reveal[data-background-transition=zoom]>.backgrounds .slide-background>.slide-background.future{opacity:0;visibility:hidden;transform:scale(.2)}.reveal[data-transition-speed=fast]>.backgrounds .slide-background{transition-duration:.4s}.reveal[data-transition-speed=slow]>.backgrounds .slide-background{transition-duration:1.2s}.reveal [data-auto-animate-target^=unmatched]{will-change:opacity}.reveal section[data-auto-animate]:not(.stack):not([data-auto-animate=running]) [data-auto-animate-target^=unmatched]{opacity:0}.reveal.overview{perspective-origin:50% 50%;perspective:700px}.reveal.overview .slides{-moz-transform-style:preserve-3d}.reveal.overview .slides section{height:100%;top:0!important;opacity:1!important;overflow:hidden;visibility:visible!important;cursor:pointer;box-sizing:border-box}.reveal.overview .slides section.present,.reveal.overview .slides section:hover{outline:10px solid rgba(150,150,150,.4);outline-offset:10px}.reveal.overview .slides section .fragment{opacity:1;transition:none}.reveal.overview .slides section:after,.reveal.overview .slides section:before{display:none!important}.reveal.overview .slides>section.stack{padding:0;top:0!important;background:0 0;outline:0;overflow:visible}.reveal.overview .backgrounds{perspective:inherit;-moz-transform-style:preserve-3d}.reveal.overview .backgrounds .slide-background{opacity:1;visibility:visible;outline:10px solid rgba(150,150,150,.1);outline-offset:10px}.reveal.overview .backgrounds .slide-background.stack{overflow:visible}.reveal.overview .slides section,.reveal.overview-deactivating .slides section{transition:none}.reveal.overview .backgrounds .slide-background,.reveal.overview-deactivating .backgrounds .slide-background{transition:none}.reveal.rtl .slides,.reveal.rtl .slides h1,.reveal.rtl .slides h2,.reveal.rtl .slides h3,.reveal.rtl .slides h4,.reveal.rtl .slides h5,.reveal.rtl .slides h6{direction:rtl;font-family:sans-serif}.reveal.rtl code,.reveal.rtl pre{direction:ltr}.reveal.rtl ol,.reveal.rtl ul{text-align:right}.reveal.rtl .progress span{transform-origin:100% 0}.reveal.has-parallax-background .backgrounds{transition:all .8s ease}.reveal.has-parallax-background[data-transition-speed=fast] .backgrounds{transition-duration:.4s}.reveal.has-parallax-background[data-transition-speed=slow] .backgrounds{transition-duration:1.2s}.reveal>.overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000;background:rgba(0,0,0,.9);transition:all .3s ease}.reveal>.overlay .spinner{position:absolute;display:block;top:50%;left:50%;width:32px;height:32px;margin:-16px 0 0 -16px;z-index:10;background-image:url(%2F%2F%2F6%2Bvr8nJybW1tcDAwOjo6Nvb26ioqKOjo7Ozs%2FLy8vz8%2FAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ%2FV%2FnmOM82XiHRLYKhKP1oZmADdEAAAh%2BQQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY%2FCZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB%2BA4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6%2BHo7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq%2BB6QDtuetcaBPnW6%2BO7wDHpIiK9SaVK5GgV543tzjgGcghAgAh%2BQQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK%2B%2BG%2Bw48edZPK%2BM6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE%2BG%2BcD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm%2BFNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk%2BaV%2BoJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0%2FVNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc%2BXiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30%2FiI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE%2FjiuL04RGEBgwWhShRgQExHBAAh%2BQQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR%2BipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq%2BE71SRQeyqUToLA7VxF0JDyIQh%2FMVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY%2BYip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd%2BMFCN6HAAIKgNggY0KtEBAAh%2BQQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1%2BvsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d%2BjYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg%2BygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0%2Bbm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h%2BKr0SJ8MFihpNbx%2B4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX%2BBP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA%3D%3D);visibility:visible;opacity:.6;transition:all .3s ease}.reveal>.overlay header{position:absolute;left:0;top:0;width:100%;padding:5px;z-index:2;box-sizing:border-box}.reveal>.overlay header a{display:inline-block;width:40px;height:40px;line-height:36px;padding:0 10px;float:right;opacity:.6;box-sizing:border-box}.reveal>.overlay header a:hover{opacity:1}.reveal>.overlay header a .icon{display:inline-block;width:20px;height:20px;background-position:50% 50%;background-size:100%;background-repeat:no-repeat}.reveal>.overlay header a.close .icon{background-image:url()}.reveal>.overlay header a.external .icon{background-image:url()}.reveal>.overlay .viewport{position:absolute;display:flex;top:50px;right:0;bottom:0;left:0}.reveal>.overlay.overlay-preview .viewport iframe{width:100%;height:100%;max-width:100%;max-height:100%;border:0;opacity:0;visibility:hidden;transition:all .3s ease}.reveal>.overlay.overlay-preview.loaded .viewport iframe{opacity:1;visibility:visible}.reveal>.overlay.overlay-preview.loaded .viewport-inner{position:absolute;z-index:-1;left:0;top:45%;width:100%;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-preview .x-frame-error{opacity:0;transition:opacity .3s ease .3s}.reveal>.overlay.overlay-preview.loaded .x-frame-error{opacity:1}.reveal>.overlay.overlay-preview.loaded .spinner{opacity:0;visibility:hidden;transform:scale(.2)}.reveal>.overlay.overlay-help .viewport{overflow:auto;color:#fff}.reveal>.overlay.overlay-help .viewport .viewport-inner{width:600px;margin:auto;padding:20px 20px 80px 20px;text-align:center;letter-spacing:normal}.reveal>.overlay.overlay-help .viewport .viewport-inner .title{font-size:20px}.reveal>.overlay.overlay-help .viewport .viewport-inner table{border:1px solid #fff;border-collapse:collapse;font-size:16px}.reveal>.overlay.overlay-help .viewport .viewport-inner table td,.reveal>.overlay.overlay-help .viewport .viewport-inner table th{width:200px;padding:14px;border:1px solid #fff;vertical-align:middle}.reveal>.overlay.overlay-help .viewport .viewport-inner table th{padding-top:20px;padding-bottom:20px}.reveal .playback{position:absolute;left:15px;bottom:20px;z-index:30;cursor:pointer;transition:all .4s ease;-webkit-tap-highlight-color:transparent}.reveal.overview .playback{opacity:0;visibility:hidden}.reveal .hljs{min-height:100%}.reveal .hljs table{margin:initial}.reveal .hljs-ln-code,.reveal .hljs-ln-numbers{padding:0;border:0}.reveal .hljs-ln-numbers{opacity:.6;padding-right:.75em;text-align:right;vertical-align:top}.reveal .hljs.has-highlights tr:not(.highlight-line){opacity:.4}.reveal .hljs:not(:first-child).fragment{position:absolute;top:0;left:0;width:100%;box-sizing:border-box}.reveal pre[data-auto-animate-target]{overflow:hidden}.reveal pre[data-auto-animate-target] code{height:100%}.reveal .roll{display:inline-block;line-height:1.2;overflow:hidden;vertical-align:top;perspective:400px;perspective-origin:50% 50%}.reveal .roll:hover{background:0 0;text-shadow:none}.reveal .roll span{display:block;position:relative;padding:0 2px;pointer-events:none;transition:all .4s ease;transform-origin:50% 0;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.reveal .roll:hover span{background:rgba(0,0,0,.5);transform:translate3d(0,0,-45px) rotateX(90deg)}.reveal .roll span:after{content:attr(data-title);display:block;position:absolute;left:0;top:0;padding:0 2px;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 0;transform:translate3d(0,110%,0) rotateX(-90deg)}.reveal aside.notes{display:none}.reveal .speaker-notes{display:none;position:absolute;width:33.33333%;height:100%;top:0;left:100%;padding:14px 18px 14px 18px;z-index:1;font-size:18px;line-height:1.4;border:1px solid rgba(0,0,0,.05);color:#222;background-color:#f5f5f5;overflow:auto;box-sizing:border-box;text-align:left;font-family:Helvetica,sans-serif;-webkit-overflow-scrolling:touch}.reveal .speaker-notes .notes-placeholder{color:#ccc;font-style:italic}.reveal .speaker-notes:focus{outline:0}.reveal .speaker-notes:before{content:'Speaker notes';display:block;margin-bottom:10px;opacity:.5}.reveal.show-notes{max-width:75%;overflow:visible}.reveal.show-notes .speaker-notes{display:block}@media screen and (min-width:1600px){.reveal .speaker-notes{font-size:20px}}@media screen and (max-width:1024px){.reveal.show-notes{border-left:0;max-width:none;max-height:70%;max-height:70vh;overflow:visible}.reveal.show-notes .speaker-notes{top:100%;left:0;width:100%;height:42.85714%;height:30vh;border:0}}@media screen and (max-width:600px){.reveal.show-notes{max-height:60%;max-height:60vh}.reveal.show-notes .speaker-notes{top:100%;height:66.66667%;height:40vh}.reveal .speaker-notes{font-size:14px}}.zoomed .reveal *,.zoomed .reveal :after,.zoomed .reveal :before{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.zoomed .reveal .controls,.zoomed .reveal .progress{opacity:0}.zoomed .reveal .roll span{background:0 0}.zoomed .reveal .roll span:after{visibility:hidden}html.print-pdf *{-webkit-print-color-adjust:exact}html.print-pdf{width:100%;height:100%;overflow:visible}html.print-pdf body{margin:0 auto!important;border:0;padding:0;float:none!important;overflow:visible}html.print-pdf .nestedarrow,html.print-pdf .reveal .controls,html.print-pdf .reveal .playback,html.print-pdf .reveal .progress,html.print-pdf .reveal.overview,html.print-pdf .state-background{display:none!important}html.print-pdf .reveal pre code{overflow:hidden!important;font-family:Courier,'Courier New',monospace!important}html.print-pdf .reveal{width:auto!important;height:auto!important;overflow:hidden!important}html.print-pdf .reveal .slides{position:static;width:100%!important;height:auto!important;zoom:1!important;pointer-events:initial;left:auto;top:auto;margin:0!important;padding:0!important;overflow:visible;display:block;perspective:none;perspective-origin:50% 50%}html.print-pdf .reveal .slides .pdf-page{position:relative;overflow:hidden;z-index:1;page-break-after:always}html.print-pdf .reveal .slides section{visibility:visible!important;display:block!important;position:absolute!important;margin:0!important;padding:0!important;box-sizing:border-box!important;min-height:1px;opacity:1!important;transform-style:flat!important;transform:none!important}html.print-pdf .reveal section.stack{position:relative!important;margin:0!important;padding:0!important;page-break-after:avoid!important;height:auto!important;min-height:auto!important}html.print-pdf .reveal img{box-shadow:none}html.print-pdf .reveal .backgrounds{display:none}html.print-pdf .reveal .slide-background{display:block!important;position:absolute;top:0;left:0;width:100%;height:100%;z-index:auto!important}html.print-pdf .reveal.show-notes{max-width:none;max-height:none}html.print-pdf .reveal .speaker-notes-pdf{display:block;width:100%;height:auto;max-height:none;top:auto;right:auto;bottom:auto;left:auto;z-index:100}html.print-pdf .reveal .speaker-notes-pdf[data-layout=separate-page]{position:relative;color:inherit;background-color:transparent;padding:20px;page-break-after:always;border:0}html.print-pdf .reveal .slide-number-pdf{display:block;position:absolute;font-size:14px}html.print-pdf .aria-status{display:none}@media print{html:not(.print-pdf){background:#fff;width:auto;height:auto;overflow:visible}html:not(.print-pdf) body{background:#fff;font-size:20pt;width:auto;height:auto;border:0;margin:0 5%;padding:0;overflow:visible;float:none!important}html:not(.print-pdf) .controls,html:not(.print-pdf) .fork-reveal,html:not(.print-pdf) .nestedarrow,html:not(.print-pdf) .reveal .backgrounds,html:not(.print-pdf) .reveal .progress,html:not(.print-pdf) .reveal .slide-number,html:not(.print-pdf) .share-reveal,html:not(.print-pdf) .state-background{display:none!important}html:not(.print-pdf) body,html:not(.print-pdf) li,html:not(.print-pdf) p,html:not(.print-pdf) td{font-size:20pt!important;color:#000}html:not(.print-pdf) h1,html:not(.print-pdf) h2,html:not(.print-pdf) h3,html:not(.print-pdf) h4,html:not(.print-pdf) h5,html:not(.print-pdf) h6{color:#000!important;height:auto;line-height:normal;text-align:left;letter-spacing:normal}html:not(.print-pdf) h1{font-size:28pt!important}html:not(.print-pdf) h2{font-size:24pt!important}html:not(.print-pdf) h3{font-size:22pt!important}html:not(.print-pdf) h4{font-size:22pt!important;font-variant:small-caps}html:not(.print-pdf) h5{font-size:21pt!important}html:not(.print-pdf) h6{font-size:20pt!important;font-style:italic}html:not(.print-pdf) a:link,html:not(.print-pdf) a:visited{color:#000!important;font-weight:700;text-decoration:underline}html:not(.print-pdf) div,html:not(.print-pdf) ol,html:not(.print-pdf) p,html:not(.print-pdf) ul{visibility:visible;position:static;width:auto;height:auto;display:block;overflow:visible;margin:0;text-align:left!important}html:not(.print-pdf) .reveal pre,html:not(.print-pdf) .reveal table{margin-left:0;margin-right:0}html:not(.print-pdf) .reveal pre code{padding:20px}html:not(.print-pdf) .reveal blockquote{margin:20px 0}html:not(.print-pdf) .reveal .slides{position:static!important;width:auto!important;height:auto!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:0!important;zoom:1!important;transform:none!important;overflow:visible!important;display:block!important;text-align:left!important;perspective:none;perspective-origin:50% 50%}html:not(.print-pdf) .reveal .slides section{visibility:visible!important;position:static!important;width:auto!important;height:auto!important;display:block!important;overflow:visible!important;left:0!important;top:0!important;margin-left:0!important;margin-top:0!important;padding:60px 20px!important;z-index:auto!important;opacity:1!important;page-break-after:always!important;transform-style:flat!important;transform:none!important;transition:none!important}html:not(.print-pdf) .reveal .slides section.stack{padding:0!important}html:not(.print-pdf) .reveal section:last-of-type{page-break-after:avoid!important}html:not(.print-pdf) .reveal section .fragment{opacity:1!important;visibility:visible!important;transform:none!important}html:not(.print-pdf) .reveal section img{display:block;margin:15px 0;background:#fff;border:1px solid #666;box-shadow:none}html:not(.print-pdf) .reveal section small{font-size:.8em}html:not(.print-pdf) .reveal .hljs{max-height:100%;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;font-size:15pt}html:not(.print-pdf) .reveal .hljs .hljs-ln-numbers{white-space:nowrap}html:not(.print-pdf) .reveal .hljs td{font-size:inherit!important;color:inherit!important}}
      
      </style>
      
        <script type="text/x-mathjax-config">
          MathJax.Hub.Config({"extensions":["tex2jax.js"],"jax":["input/TeX","output/HTML-CSS"],"messageStyle":"none","tex2jax":{"processEnvironments":false,"processEscapes":true,"inlineMath":[["$","$"],["\\(","\\)"]],"displayMath":[["$$","$$"],["\\[","\\]"]],"skipTags":["script","noscript","style","textarea","pre","code"]},"displayAlign":"left","displayIndent":"0.05rem","TeX":{"equationNumbers":{"autoNumber":"none","useLabelIds":true},"extensions":["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js","action.js","cancel.js","enclose.js","mhchem.js","extpfeil.js"],"Macros":{"zerov":"{\\boldsymbol 0}","onev":"{\\boldsymbol 1}","av":"{\\boldsymbol a}","bv":"{\\boldsymbol b}","cv":"{\\boldsymbol c}","dv":"{\\boldsymbol d}","ev":"{\\boldsymbol e}","fv":"{\\boldsymbol f}","gv":"{\\boldsymbol g}","hv":"{\\boldsymbol h}","iv":"{\\boldsymbol i}","jv":"{\\boldsymbol j}","kv":"{\\boldsymbol k}","lv":"{\\boldsymbol l}","mv":"{\\boldsymbol m}","nv":"{\\boldsymbol n}","ov":"{\\boldsymbol o}","pv":"{\\boldsymbol p}","qv":"{\\boldsymbol q}","rv":"{\\boldsymbol r}","sv":"{\\boldsymbol s}","tv":"{\\boldsymbol t}","uv":"{\\boldsymbol u}","vv":"{\\boldsymbol v}","wv":"{\\boldsymbol w}","xv":"{\\boldsymbol x}","yv":"{\\boldsymbol y}","zv":"{\\boldsymbol z}","Av":"{\\mathbf A}","Bv":"{\\mathbf B}","Cv":"{\\mathbf C}","Dv":"{\\mathbf D}","Ev":"{\\mathbf E}","Fv":"{\\mathbf F}","Gv":"{\\mathbf G}","Hv":"{\\mathbf H}","Iv":"{\\mathbf I}","Jv":"{\\mathbf J}","Kv":"{\\mathbf K}","Lv":"{\\mathbf L}","Mv":"{\\mathbf M}","Nv":"{\\mathbf N}","Ov":"{\\mathbf O}","Pv":"{\\mathbf P}","Qv":"{\\mathbf Q}","Rv":"{\\mathbf R}","Sv":"{\\mathbf S}","Tv":"{\\mathbf T}","Uv":"{\\mathbf U}","Vv":"{\\mathbf V}","Wv":"{\\mathbf W}","Xv":"{\\mathbf X}","Yv":"{\\mathbf Y}","Zv":"{\\mathbf Z}","alphav":"{\\boldsymbol {\\alpha}}","betav":"{\\boldsymbol {\\beta}}","lambdav":"{\\boldsymbol {\\lambda}}","muv":"{\\boldsymbol {\\mu}}","thetav":"{\\boldsymbol {\\theta}}","phiv":"{\\boldsymbol {\\phi}}","zetav":"{\\boldsymbol {\\zeta}}","deltav":"{\\boldsymbol {\\delta}}","Sigmav":"{\\boldsymbol {\\Sigma}}","Phiv":"{\\boldsymbol {\\Phi}}","Lambdav":"{\\boldsymbol {\\Lambda}}","Omegav":"{\\boldsymbol {\\Omega}}","Cbb":"{\\mathbb C}","Ebb":"{\\mathbb E}","Hbb":"{\\mathbb H}","Nbb":"{\\mathbb N}","Pbb":"{\\mathbb P}","Qbb":"{\\mathbb Q}","Rbb":"{\\mathbb R}","Zbb":"{\\mathbb Z}","Acal":"{\\mathcal A}","Bcal":"{\\mathcal B}","Ccal":"{\\mathcal C}","Dcal":"{\\mathcal D}","Ecal":"{\\mathcal E}","Fcal":"{\\mathcal F}","Gcal":"{\\mathcal G}","Hcal":"{\\mathcal H}","Ical":"{\\mathcal I}","Lcal":"{\\mathcal L}","Mcal":"{\\mathcal M}","Ncal":"{\\mathcal N}","Pcal":"{\\mathcal P}","Rcal":"{\\mathcal R}","Scal":"{\\mathcal S}","Ucal":"{\\mathcal U}","Vcal":"{\\mathcal V}","Wcal":"{\\mathcal W}","Xcal":"{\\mathcal X}","Ycal":"{\\mathcal Y}","fhat":"{\\hat f}","yhat":"{\\hat y}","yvhat":"{\\hat {\\yv}}","Xvhat":"{\\hat {\\Xv}}","wvt":"{\\tilde {\\wv}}","xvt":"{\\tilde {\\xv}}","yvt":"{\\tilde {\\yv}}","Kvt":"{\\tilde {\\Kv}}","xbar":"{\\bar {x}}","ybar":"{\\bar {y}}","yvbar":"{\\bar {\\yv}}","Ffrak":"{\\mathfrak F}","sup":["{{(#1)}}",1],"diff":"{\\mathrm {d}}","diag":"{\\mathrm {diag}}","span":"{\\mathrm {span}}","sign":"{\\mathrm {sign}}","sgn":"{\\mathrm {sgn}}","st":"{\\mathrm {s.t.}}","VC":"{\\mathrm {VC}}","Pr":"{\\mathrm {Pr}}","tanh":"{\\mathrm {Tanh}}","relu":"{\\mathrm {ReLU}}","lrelu":"{\\mathrm {LeakyReLU}}","prelu":"{\\mathrm {PReLU}}","elu":"{\\mathrm {ELU}}","softplus":"{\\mathrm {Softplus}}","swish":"{\\mathrm {Swish}}","maxout":"{\\mathrm {Maxout}}","const":"{\\mathrm {const}}","cov":"{\\mathrm {cov}}","grad":"{\\mathrm {grad}}","div":"{\\mathrm {div}}","var":"{\\mathrm {var}}","softmax":"{\\mathrm {Softmax}}","att":"{\\mathrm {att}}","cut":"{\\mathrm {cut}}","rcut":"{\\mathrm {RatioCut}}","ncut":"{\\mathrm {NCut}}","tr":"{\\mathrm {tr}}","vol":"{\\mathrm {vol}}","mlp":"{\\mathrm {MLP}}","update":"{\\mathrm {Update}}","aggregate":"{\\mathrm {Aggregate}}","self":"{\\mathrm {self}}","set":"{\\mathrm {set}}","neigh":"{\\mathrm {neigh}}","base":"{\\mathrm {base}}","NULL":"{\\mathrm {NULL}}","new":"{\\mathrm {new}}","gru":"{\\mathrm {GRU}}","lstm":"{\\mathrm {LSTM}}","edge":"{\\mathrm {edge}}","node":"{\\mathrm {node}}","graph":"{\\mathrm {graph}}","train":"{\\mathrm {train}}","dec":"{\\mathrm {Dec}}","sym":"{\\mathrm {sym}}","modd":"{\\mathrm {mod} ~ }","hp":"{\\mathrm {hp}}","gen":"{\\mathrm {gen}}","rot":"{\\mathbf {rot180}}","up":"{\\mathbf {up}}","cen":"{\\mathrm {cen}}","con":"{\\mathrm {con}}","argmin":"{\\mathop{\\mathrm{argmin}}}","argmax":"{\\mathop{\\mathrm{argmax}}}"}},"HTML-CSS":{"linebreaks":{"automatic":false},"scale":100,"styles":{".MathJax_Display":{"margin":"0.6rem auto 1rem 0 !important","border-radius":"0px !important","font-size":"1.8rem !important","color":"#d33682","text-align":"left !important"},".MathJax":{"margin-left":"0.2rem !important","margin-right":"0rem !important","border":"0px solid #ccc !important","color":"#d33682"}},"availableFonts":["TeX"]}});
        </script>
        <script type="text/javascript" async="" src="../common/js/mathjax/MathJax.js" charset="UTF-8"></script>
        
      
      <link rel="stylesheet" href="file:////home/avanti/.local/bin/mpe2html-deps/node_modules/@shd101wyy/mume/dependencies/font-awesome/css/font-awesome.min.css">
      
        <script src="../common/js/head.min.js"></script>
        <script src="../common/js/reveal.js"></script>
      
      
      
      
      
      
      <style>
      /**
 * prism.js Github theme based on GitHub's theme.
 * @author Sam Clarke
 */
code[class*="language-"],
pre[class*="language-"] {
  color: #333;
  background: none;
  font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.4;

  -moz-tab-size: 8;
  -o-tab-size: 8;
  tab-size: 8;

  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */
pre[class*="language-"] {
  padding: .8em;
  overflow: auto;
  /* border: 1px solid #ddd; */
  border-radius: 3px;
  /* background: #fff; */
  background: #f5f5f5;
}

/* Inline code */
:not(pre) > code[class*="language-"] {
  padding: .1em;
  border-radius: .3em;
  white-space: normal;
  background: #f5f5f5;
}

.token.comment,
.token.blockquote {
  color: #969896;
}

.token.cdata {
  color: #183691;
}

.token.doctype,
.token.punctuation,
.token.variable,
.token.macro.property {
  color: #333;
}

.token.operator,
.token.important,
.token.keyword,
.token.rule,
.token.builtin {
  color: #a71d5d;
}

.token.string,
.token.url,
.token.regex,
.token.attr-value {
  color: #183691;
}

.token.property,
.token.number,
.token.boolean,
.token.entity,
.token.atrule,
.token.constant,
.token.symbol,
.token.command,
.token.code {
  color: #0086b3;
}

.token.tag,
.token.selector,
.token.prolog {
  color: #63a35c;
}

.token.function,
.token.namespace,
.token.pseudo-element,
.token.class,
.token.class-name,
.token.pseudo-class,
.token.id,
.token.url-reference .token.variable,
.token.attr-name {
  color: #795da3;
}

.token.entity {
  cursor: help;
}

.token.title,
.token.title .token.punctuation {
  font-weight: bold;
  color: #1d3e81;
}

.token.list {
  color: #ed6a43;
}

.token.inserted {
  background-color: #eaffea;
  color: #55a532;
}

.token.deleted {
  background-color: #ffecec;
  color: #bd2c00;
}

.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}


/* JSON */
.language-json .token.property {
  color: #183691;
}

.language-markup .token.tag .token.punctuation {
  color: #333;
}

/* CSS */
code.language-css,
.language-css .token.function {
  color: #0086b3;
}

/* YAML */
.language-yaml .token.atrule {
  color: #63a35c;
}

code.language-yaml {
  color: #183691;
}

/* Ruby */
.language-ruby .token.function {
  color: #333;
}

/* Markdown */
.language-markdown .token.url {
  color: #795da3;
}

/* Makefile */
.language-makefile .token.symbol {
  color: #795da3;
}

.language-makefile .token.variable {
  color: #183691;
}

.language-makefile .token.builtin {
  color: #0086b3;
}

/* Bash */
.language-bash .token.keyword {
  color: #0086b3;
}

/* highlight */
pre[data-line] {
  position: relative;
  padding: 1em 0 1em 3em;
}
pre[data-line] .line-highlight-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  background-color: transparent;
  display: block;
  width: 100%;
}

pre[data-line] .line-highlight {
  position: absolute;
  left: 0;
  right: 0;
  padding: inherit 0;
  margin-top: 1em;
  background: hsla(24, 20%, 50%,.08);
  background: linear-gradient(to right, hsla(24, 20%, 50%,.1) 70%, hsla(24, 20%, 50%,0));
  pointer-events: none;
  line-height: inherit;
  white-space: pre;
}

pre[data-line] .line-highlight:before, 
pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-start);
  position: absolute;
  top: .4em;
  left: .6em;
  min-width: 1em;
  padding: 0 .5em;
  background-color: hsla(24, 20%, 50%,.4);
  color: hsl(24, 20%, 95%);
  font: bold 65%/1.5 sans-serif;
  text-align: center;
  vertical-align: .3em;
  border-radius: 999px;
  text-shadow: none;
  box-shadow: 0 1px white;
}

pre[data-line] .line-highlight[data-end]:after {
  content: attr(data-end);
  top: auto;
  bottom: .4em;
}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview .pagebreak,.markdown-preview .newpage{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center !important}.markdown-preview:not([for="preview"]) .code-chunk .btn-group{display:none}.markdown-preview:not([for="preview"]) .code-chunk .status{display:none}.markdown-preview:not([for="preview"]) .code-chunk .output-div{margin-bottom:16px}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0}@media screen and (min-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode]) .markdown-preview{font-size:14px !important;padding:1em}}@media print{html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for="html-export"]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,0.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,0.66);border:4px solid rgba(150,150,150,0.66);background-clip:content-box}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{padding:0 1.6em;margin-top:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc li{margin-bottom:.8em}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc ul{list-style-type:none}html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% -  300px);padding:2em calc(50% - 457px -  150px);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for="html-export"]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for="html-export"]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

      </style>
    </head>
    <body for="html-export" data-presentation-mode="">
      <div class="mume markdown-preview  " data-presentation-mode="">
      
    <div style="display:none;"><link rel="stylesheet" href="../common/css/font-awesome-4.7.0/css/font-awesome.css">
<link rel="stylesheet" href="../common/css/style-color.css">
<link rel="stylesheet" href="../common/css/margin.css">
</div>
    <div class="reveal">
      <div class="slides">
        <section><section data-notes="" lineno="11" class="slide " data-line="11" data-h="0" data-v="0">
<div class="header"><img class="hust" src=""></div>
<div class="bottom15"></div>
<h1 class="mume-header" id="%E5%9B%BE%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%AF%BC%E8%AE%BA">图神经网络导论</h1>

<hr class="width50">
<h2 class="mume-header" id="%E5%9B%BE%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0">图机器学习</h2>

<div class="bottom5"></div>
<h3 class="mume-header" id="%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6%E4%B8%8E%E6%8A%80%E6%9C%AF%E5%AD%A6%E9%99%A2-nbsp-nbsp-%E5%BC%A0%E8%85%BE">计算机科学与技术学院 &nbsp; &nbsp; 张腾</h3>

<br>
<h4 class="mume-header" id="tengzhanghusteducn"><a href="mailto:tengzhang@hust.edu.cn">tengzhang@hust.edu.cn</a></h4>

</section><section vertical="true" data-notes="" lineno="30" class="slide " data-line="30" data-h="0" data-v="1">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>基本思路</h5></div></div>
<br>
<p>机器学习的基本流程</p>
<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by graphviz version 2.40.1 (20161225.0304)
 -->
<!-- Title: g Pages: 1 -->
<svg width="582pt" height="101pt" viewBox="0.00 0.00 581.63 101.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 97)">
<title>g</title>
<g id="clust1" class="cluster">
<title>cluster_1</title>
<polygon fill="transparent" stroke="#586e75" stroke-dasharray="5,2" points="97.8944,-8 97.8944,-85 399.872,-85 399.872,-8 97.8944,-8"></polygon>
<text text-anchor="middle" x="248.8832" y="-68.4" font-family="EBG,fzlz" font-size="14.00" fill="#dc322f">特征工程</text>
</g>
<!--  原始数据  -->
<g id="node1" class="node">
<title> 原始数据 </title>
<polygon fill="none" stroke="#586e75" points="80.8417,-52 .0527,-52 .0527,-16 80.8417,-16 80.8417,-52"></polygon>
<text text-anchor="middle" x="40.4472" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900"> 原始数据 </text>
</g>
<!--  &#160;特征提取 &#160; -->
<g id="node2" class="node">
<title> &nbsp;特征提取 &nbsp;</title>
<polygon fill="none" stroke="#586e75" points="189.0481,-52 105.8431,-52 105.8431,-16 189.0481,-16 189.0481,-52"></polygon>
<text text-anchor="middle" x="147.4456" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900"> &nbsp;特征提取 &nbsp;</text>
</g>
<!--  原始数据 &#45;&gt; &#160;特征提取 &#160; -->
<g id="edge1" class="edge">
<title> 原始数据 -&gt; &nbsp;特征提取 &nbsp;</title>
<path fill="none" stroke="#586e75" d="M80.8987,-34C87.4066,-34 94.1889,-34 100.8274,-34"></path>
<polygon fill="#586e75" stroke="#586e75" points="105.869,-34 100.8691,-36.2501 103.369,-34 100.869,-34.0001 100.869,-34.0001 100.869,-34.0001 103.369,-34 100.869,-31.7501 105.869,-34 105.869,-34"></polygon>
</g>
<!--  &#160;特征处理 &#160; -->
<g id="node3" class="node">
<title> &nbsp;特征处理 &nbsp;</title>
<polygon fill="none" stroke="#586e75" points="295.6563,-52 214.1101,-52 214.1101,-16 295.6563,-16 295.6563,-52"></polygon>
<text text-anchor="middle" x="254.8832" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900"> &nbsp;特征处理 &nbsp;</text>
</g>
<!--  &#160;特征提取 &#160;&#45;&gt; &#160;特征处理 &#160; -->
<g id="edge2" class="edge">
<title> &nbsp;特征提取 &nbsp;-&gt; &nbsp;特征处理 &nbsp;</title>
<path fill="none" stroke="#586e75" d="M189.2914,-34C195.6437,-34 202.2291,-34 208.6678,-34"></path>
<polygon fill="#586e75" stroke="#586e75" points="214.0334,-34 209.0335,-36.2501 211.5334,-34 209.0334,-34.0001 209.0334,-34.0001 209.0334,-34.0001 211.5334,-34 209.0334,-31.7501 214.0334,-34 214.0334,-34"></polygon>
</g>
<!-- 特征变换 -->
<g id="node4" class="node">
<title>特征变换</title>
<polygon fill="none" stroke="#586e75" points="391.9233,-52 320.7183,-52 320.7183,-16 391.9233,-16 391.9233,-52"></polygon>
<text text-anchor="middle" x="356.3208" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">特征变换</text>
</g>
<!--  &#160;特征处理 &#160;&#45;&gt;特征变换 -->
<g id="edge3" class="edge">
<title> &nbsp;特征处理 &nbsp;-&gt;特征变换</title>
<path fill="none" stroke="#586e75" d="M295.8494,-34C302.293,-34 308.9549,-34 315.3975,-34"></path>
<polygon fill="#586e75" stroke="#586e75" points="320.7482,-34 315.7483,-36.2501 318.2482,-34 315.7482,-34.0001 315.7482,-34.0001 315.7482,-34.0001 318.2482,-34 315.7482,-31.7501 320.7482,-34 320.7482,-34"></polygon>
</g>
<!-- 模型学习 -->
<g id="node5" class="node">
<title>模型学习</title>
<polygon fill="none" stroke="#586e75" points="494.5052,-52 416.994,-52 416.994,-16 494.5052,-16 494.5052,-52"></polygon>
<text text-anchor="middle" x="455.7496" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">模型学习</text>
</g>
<!-- 特征变换&#45;&gt;模型学习 -->
<g id="edge4" class="edge">
<title>特征变换-&gt;模型学习</title>
<path fill="none" stroke="#586e75" d="M391.936,-34C398.3302,-34 405.0636,-34 411.663,-34"></path>
<polygon fill="#586e75" stroke="#586e75" points="416.6757,-34 411.6757,-36.2501 414.1757,-34 411.6757,-34.0001 411.6757,-34.0001 411.6757,-34.0001 414.1757,-34 411.6756,-31.7501 416.6757,-34 416.6757,-34"></polygon>
</g>
<!-- 预测 -->
<g id="node6" class="node">
<title>预测</title>
<polygon fill="none" stroke="#586e75" points="573.6272,-52 519.6272,-52 519.6272,-16 573.6272,-16 573.6272,-52"></polygon>
<text text-anchor="middle" x="546.6272" y="-29.2" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">预测</text>
</g>
<!-- 模型学习&#45;&gt;预测 -->
<g id="edge5" class="edge">
<title>模型学习-&gt;预测</title>
<path fill="none" stroke="#586e75" d="M494.5535,-34C501.1115,-34 507.8579,-34 514.2304,-34"></path>
<polygon fill="#586e75" stroke="#586e75" points="519.4831,-34 514.4831,-36.2501 516.9831,-34 514.4831,-34.0001 514.4831,-34.0001 514.4831,-34.0001 516.9831,-34 514.483,-31.7501 519.4831,-34 519.4831,-34"></polygon>
</g>
</g>
</svg>
机器学习的效果取决于<span class="blue">特征</span>的强弱</p>
<ul>
<li>原始数据中点、边的特征可以直接拿来用，这和传统机器学习一样</li>
<li>图的结构也是一种信息，如何将其用起来？</li>
</ul>
<br>
<p>通过<span class="blue">图上的统计量</span>来提取</p>
<ul>
<li>点层面：用每个点的局部结构</li>
<li>图层面：用整个图的全局结构</li>
</ul>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="54" class="slide " data-line="54" data-h="0" data-v="2">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>符号约定</h5></div></div>
<p>图<span class="mathjax-exps">$\Gcal = (\Vcal, \Ecal)$</span>，<span class="mathjax-exps">$\Vcal$</span>是点集，<span class="mathjax-exps">$\Ecal$</span>是边集</p>
<br>
<p>对于点<span class="mathjax-exps">$u, v \in \Vcal$</span></p>
<ul>
<li>若其存在连边 (关系)，则<span class="mathjax-exps">$(u, v) \in \Ecal$</span></li>
<li>若边没有方向，则<span class="mathjax-exps">$(u, v) \in \Ecal \Longleftrightarrow (v, u) \in \Ecal$</span></li>
</ul>
<br>
<p>邻接矩阵<span class="mathjax-exps">$\Av \in \Rbb^{|\Vcal| \times |\Vcal|}$</span></p>
<ul>
<li>若边没有权重，<span class="mathjax-exps">$[\Av]_{uv} = 1_{(u, v) \in \Ecal}$</span></li>
<li>若边上有权重，<span class="mathjax-exps">$[\Av]_{uv}$</span>就等于<span class="mathjax-exps">$(u, v)$</span>的权重</li>
<li>若边没有方向，则<span class="mathjax-exps">$\Av$</span>是<span class="blue">对称</span>矩阵</li>
</ul>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="77" class="slide " data-line="77" data-h="0" data-v="3">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>家族通婚图</h5></div></div>
<p engine="neato" class="center"><!--?xml version="1.0" encoding="UTF-8" standalone="no"?-->

<!-- Generated by graphviz version 2.40.1 (20161225.0304)
 -->
<!-- Title: g Pages: 1 -->
<svg width="420pt" height="327pt" viewBox="0.00 0.00 420.00 326.83" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 322.8276)">
<title>g</title>
<!-- Pazzi -->
<g id="node1" class="node">
<title>Pazzi</title>
<text text-anchor="middle" x="17.324" y="-83.4991" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Pazzi</text>
</g>
<!-- Salviati -->
<g id="node2" class="node">
<title>Salviati</title>
<text text-anchor="middle" x="90.7342" y="-108.8321" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Salviati</text>
</g>
<!-- Pazzi&#45;&gt;Salviati -->
<g id="edge1" class="edge">
<title>Pazzi-&gt;Salviati</title>
<path fill="none" stroke="#586e75" d="M34.7212,-94.3026C44.1338,-97.5508 55.9145,-101.6162 66.2402,-105.1795"></path>
</g>
<!-- Medici -->
<g id="node3" class="node">
<title>Medici</title>
<text text-anchor="middle" x="157.944" y="-156.1417" font-family="EBG,fzlz" font-size="16.00" fill="#268bd2">Medici</text>
</g>
<!-- Salviati&#45;&gt;Medici -->
<g id="edge2" class="edge">
<title>Salviati-&gt;Medici</title>
<path fill="none" stroke="#586e75" d="M104.6601,-123.4347C116.1949,-131.5542 132.506,-143.0357 144.0359,-151.1517"></path>
</g>
<!-- Acciaiuoli -->
<g id="node4" class="node">
<title>Acciaiuoli</title>
<text text-anchor="middle" x="85.6184" y="-192.5649" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Acciaiuoli</text>
</g>
<!-- Medici&#45;&gt;Acciaiuoli -->
<g id="edge3" class="edge">
<title>Medici-&gt;Acciaiuoli</title>
<path fill="none" stroke="#586e75" d="M138.562,-170.7025C128.1012,-175.9706 115.2333,-182.4508 104.803,-187.7035"></path>
</g>
<!-- Barbadori -->
<g id="node5" class="node">
<title>Barbadori</title>
<text text-anchor="middle" x="159.5764" y="-250.2683" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Barbadori</text>
</g>
<!-- Medici&#45;&gt;Barbadori -->
<g id="edge4" class="edge">
<title>Medici-&gt;Barbadori</title>
<path fill="none" stroke="#586e75" d="M158.1125,-170.6604C158.4253,-188.6973 159.0924,-227.1583 159.4064,-245.2615"></path>
</g>
<!-- Tornabuoni -->
<g id="node6" class="node">
<title>Tornabuoni</title>
<text text-anchor="middle" x="230.0062" y="-140.1778" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Tornabuoni</text>
</g>
<!-- Medici&#45;&gt;Tornabuoni -->
<g id="edge5" class="edge">
<title>Medici-&gt;Tornabuoni</title>
<path fill="none" stroke="#586e75" d="M180.7449,-155.8907C184.5385,-155.0503 188.5592,-154.1595 192.6031,-153.2637"></path>
</g>
<!-- Albizzi -->
<g id="node7" class="node">
<title>Albizzi</title>
<text text-anchor="middle" x="219.6602" y="-85.0058" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Albizzi</text>
</g>
<!-- Medici&#45;&gt;Albizzi -->
<g id="edge6" class="edge">
<title>Medici-&gt;Albizzi</title>
<path fill="none" stroke="#586e75" d="M166.5253,-151.0506C178.3164,-137.4599 199.3991,-113.1593 211.1517,-99.6129"></path>
</g>
<!-- Ridolfi -->
<g id="node8" class="node">
<title>Ridolfi</title>
<text text-anchor="middle" x="213.9013" y="-201.3759" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Ridolfi</text>
</g>
<!-- Medici&#45;&gt;Ridolfi -->
<g id="edge7" class="edge">
<title>Medici-&gt;Ridolfi</title>
<path fill="none" stroke="#586e75" d="M170.0859,-170.7569C179.4718,-178.3442 192.4032,-188.7975 201.7831,-196.3799"></path>
</g>
<!-- Castellani -->
<g id="node12" class="node">
<title>Castellani</title>
<text text-anchor="middle" x="229.7698" y="-304.4276" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Castellani</text>
</g>
<!-- Barbadori&#45;&gt;Castellani -->
<g id="edge13" class="edge">
<title>Barbadori-&gt;Castellani</title>
<path fill="none" stroke="#586e75" d="M172.1256,-264.7509C184.7444,-274.4872 204.107,-289.4269 216.8544,-299.2624"></path>
</g>
<!-- Tornabuoni&#45;&gt;Ridolfi -->
<g id="edge10" class="edge">
<title>Tornabuoni-&gt;Ridolfi</title>
<path fill="none" stroke="#586e75" d="M227.4187,-154.8103C224.3955,-166.2981 219.4266,-185.1798 216.4293,-196.5695"></path>
</g>
<!-- Guadagni -->
<g id="node10" class="node">
<title>Guadagni</title>
<text text-anchor="middle" x="302.5589" y="-122.4156" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Guadagni</text>
</g>
<!-- Tornabuoni&#45;&gt;Guadagni -->
<g id="edge11" class="edge">
<title>Tornabuoni-&gt;Guadagni</title>
<path fill="none" stroke="#586e75" d="M267.5577,-135.7845C268.8024,-135.4798 270.0452,-135.1755 271.2801,-134.8732"></path>
</g>
<!-- Ginori -->
<g id="node9" class="node">
<title>Ginori</title>
<text text-anchor="middle" x="219.0522" y="-4.8" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Ginori</text>
</g>
<!-- Albizzi&#45;&gt;Ginori -->
<g id="edge8" class="edge">
<title>Albizzi-&gt;Ginori</title>
<path fill="none" stroke="#586e75" d="M219.5857,-79.971C219.469,-64.5773 219.2444,-34.9583 219.1273,-19.5152"></path>
</g>
<!-- Albizzi&#45;&gt;Guadagni -->
<g id="edge9" class="edge">
<title>Albizzi-&gt;Guadagni</title>
<path fill="none" stroke="#586e75" d="M241.0087,-99.4397C253.3858,-105.0251 268.918,-112.0344 281.2828,-117.6143"></path>
</g>
<!-- Strozzi -->
<g id="node11" class="node">
<title>Strozzi</title>
<text text-anchor="middle" x="273.5101" y="-249.3328" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Strozzi</text>
</g>
<!-- Ridolfi&#45;&gt;Strozzi -->
<g id="edge12" class="edge">
<title>Ridolfi-&gt;Strozzi</title>
<path fill="none" stroke="#586e75" d="M225.9641,-215.8807C236.3059,-224.201 251.1287,-236.1263 261.4653,-244.4424"></path>
</g>
<!-- Lamberteschi -->
<g id="node13" class="node">
<title>Lamberteschi</title>
<text text-anchor="middle" x="368.4689" y="-78.1513" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Lamberteschi</text>
</g>
<!-- Guadagni&#45;&gt;Lamberteschi -->
<g id="edge14" class="edge">
<title>Guadagni-&gt;Lamberteschi</title>
<path fill="none" stroke="#586e75" d="M316.8604,-117.6109C327.7643,-110.288 342.7305,-100.2368 353.739,-92.8437"></path>
</g>
<!-- Bischeri -->
<g id="node14" class="node">
<title>Bischeri</title>
<text text-anchor="middle" x="336.8915" y="-205.4922" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Bischeri</text>
</g>
<!-- Guadagni&#45;&gt;Bischeri -->
<g id="edge15" class="edge">
<title>Guadagni-&gt;Bischeri</title>
<path fill="none" stroke="#586e75" d="M306.6321,-137.0718C313.2398,-153.0606 326.2194,-184.4682 332.8236,-200.4488"></path>
</g>
<!-- Strozzi&#45;&gt;Castellani -->
<g id="edge16" class="edge">
<title>Strozzi-&gt;Castellani</title>
<path fill="none" stroke="#586e75" d="M265.6902,-263.9826C257.7287,-274.0109 245.4591,-289.4656 237.522,-299.463"></path>
</g>
<!-- Strozzi&#45;&gt;Bischeri -->
<g id="edge17" class="edge">
<title>Strozzi-&gt;Bischeri</title>
<path fill="none" stroke="#586e75" d="M287.5765,-244.4031C298.0799,-237.138 312.3706,-227.2532 322.8645,-219.9947"></path>
</g>
<!-- Peruzzi -->
<g id="node15" class="node">
<title>Peruzzi</title>
<text text-anchor="middle" x="316.3237" y="-287.7788" font-family="EBG,fzlz" font-size="16.00" fill="#b58900">Peruzzi</text>
</g>
<!-- Strozzi&#45;&gt;Peruzzi -->
<g id="edge18" class="edge">
<title>Strozzi-&gt;Peruzzi</title>
<path fill="none" stroke="#586e75" d="M284.3138,-263.8343C290.7545,-269.618 298.9083,-276.94 305.3745,-282.7466"></path>
</g>
<!-- Castellani&#45;&gt;Peruzzi -->
<g id="edge19" class="edge">
<title>Castellani-&gt;Peruzzi</title>
<path fill="none" stroke="#586e75" d="M261.9993,-303.0282C271.9965,-301.1052 282.8366,-299.0201 292.1848,-297.2219"></path>
</g>
<!-- Bischeri&#45;&gt;Peruzzi -->
<g id="edge20" class="edge">
<title>Bischeri-&gt;Peruzzi</title>
<path fill="none" stroke="#586e75" d="M334.4514,-220.0547C330.4929,-235.8915 322.7171,-267.0004 318.7607,-282.829"></path>
</g>
</g>
</svg>
</p><h3 class="mume-header" id="%E5%93%AA%E4%BA%9B%E7%BB%9F%E8%AE%A1%E9%87%8F%E8%83%BD%E4%BD%93%E7%8E%B0%E5%87%BA-medici-%E5%AE%B6%E6%97%8F%E7%9A%84%E5%B4%9B%E8%B5%B7">哪些统计量能体现出 Medici 家族的崛起？</h3>

<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section></section><section><section data-notes="" lineno="87" class="slide " data-line="87" data-h="1" data-v="0">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>度中心性</h5></div></div>
<br>
<p>度 (degree)：与点相连的边的数目<span class="mathjax-exps">$d_u = \sum_{v \in \Vcal} [\Av]_{uv}$</span></p>
<br>
<p>度与边的关系<span class="mathjax-exps">$\sum_{u \in \Vcal} d_u = 2 |\Ecal|$</span></p>
<br>
<p>对于家族通婚图</p>
<ul>
<li>Medici 的度数是 5，最大的家族</li>
<li>Guadagn 和 Strozzi 的度数是 4</li>
<li>区分度不太明显，需要更强的特征</li>
</ul>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="109" class="slide " data-line="109" data-h="1" data-v="1">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>特征向量中心性</h5></div></div>
<br>
<p>基本想法：如果你的朋友都是大佬，那你肯定也是大佬</p>
<div class="bottom6"></div>
<p>设所有点特征向量中心性构成的向量为<span class="mathjax-exps">$\vv$</span></p>
<br>
<p>点<span class="mathjax-exps">$u$</span>所有邻居的特征向量中心性之和为<span class="mathjax-exps">$[\Av \vv]_u = \sum_{v \in \Vcal} [\Av]_{uv}  [\vv]_v$</span></p>
<br>
<p>现要求每个点邻居的特征向量中心性之和与自己的成正比<span class="mathjax-exps">$\Av \vv = \lambda \vv$</span></p>
<br>
<p>显然满足要求的向量<span class="mathjax-exps">$\vv$</span>是邻接矩阵<span class="mathjax-exps">$\Av$</span>的特征向量，名字也是由此而来</p>
<br>
<p>根据 <span class="blue">Perron–Frobenius 定理</span>，<strong>非负不可约实</strong>矩阵<span class="mathjax-exps">$\Av$</span>的最大特征值<span class="mathjax-exps">$\lambda_1$</span>对应的特征向量<span class="mathjax-exps">$\vv_1$</span>为正，就取<span class="mathjax-exps">$\vv_1$</span>的元素为特征向量中心性</p>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="139" class="slide " data-line="139" data-h="1" data-v="2">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>特征向量中心性</h5></div></div>
<br>
<p>另一个视角：由 <span class="blue">Power Method</span> (参见下一页) 知</p>
<p>

$$
\begin{align*}
  \lim_{t \rightarrow \infty} \Av^t \onev \class{yellow}{\propto \vv_1}
\end{align*}
$$
</p>

<p><span class="mathjax-exps">$[\Av^t]_{uv}$</span>表示点<span class="mathjax-exps">$u$</span>到点<span class="mathjax-exps">$v$</span>的长度为<span class="mathjax-exps">$t$</span>的路径数</p>
<br>
<p>特征向量中心性正比于<span class="blue">可被其他点通过<strong>无限长的路径</strong>访问的总次数</span>，即特征向量中心性越高，该点越属于各种长度的环</p>
<div class="bottom6"></div>
<p>对于家族通婚图，Medici 的特征向量中心值为 0.43，第二大的为 0.36</p>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section></section><section><section data-notes="" lineno="169" class="slide " data-line="169" data-h="2" data-v="0">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>Power Method</h5></div></div>
<p>设<span class="mathjax-exps">$\Av$</span>为实对称矩阵，即<span class="mathjax-exps">$\Av$</span>可对角化且特征值<span class="mathjax-exps">$\lambda_1, \ldots, \lambda_n$</span>均为实数，设<span class="mathjax-exps">$\lambda_1$</span>是绝对值最大的特征值且重数为<span class="mathjax-exps">$1$</span>，即<span class="mathjax-exps">$|\lambda_1| &gt; \{ |\lambda_i| \}_{i \neq 1}$</span>，<span class="mathjax-exps">$\lambda_1$</span>对应的特征向量为<span class="mathjax-exps">$\vv_1$</span>，初始取<span class="mathjax-exps">$\xv_0$</span>为任意向量，并依</p>
<p>

$$
\begin{align*}
  \xv_k = \frac{\Av \xv_{k-1}}{\|\Av \xv_{k-1}\|}
\end{align*}
$$
</p>

<p>迭代，则有<span class="mathjax-exps">$\lim_{k \rightarrow \infty} \xv_k = \vv_1$</span></p>
<br>
<p>证明：易知</p>
<p>

$$
\begin{align*}
    \xv_k = \frac{\Av \xv_{k-1}}{\|\Av \xv_{k-1}\|} = \frac{\Av \frac{\Av \xv_{k-2}}{\|\Av \xv_{k-2}\|}}{\|\Av \frac{\Av \xv_{k-2}}{\|\Av \xv_{k-2}\|}\|} = \frac{\Av^2 \xv_{k-2}}{\|\Av^2 \xv_{k-2}\|} = \cdots = \frac{\Av^k \xv_0}{\|\Av^k \xv_0\|}
\end{align*}
$$
</p>

<p>设<span class="mathjax-exps">$\xv_0 = c_1 \vv_1 + \cdots + c_n \vv_n$</span>，则</p>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="205" class="slide " data-line="205" data-h="2" data-v="1">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>Power Method</h5></div></div>
<p>

$$
\begin{align*}
    \Av^k \xv_0 &amp; = \Av^{k-1} \Av (c_1 \vv_1 + \cdots + c_n \vv_n) = \Av^{k-1} (c_1 \lambda_1 \vv_1 + \cdots + c_n \lambda_n \vv_n) \\
    &amp; = \Av^{k-2} (c_1 \lambda_1^2 \vv_1 + \cdots + c_n \lambda_n^2 \vv_n) = c_1 \lambda_1^k \vv_1 + \cdots + c_n \lambda_n^k \vv_n
\end{align*}
$$
</p>

<p>从而</p>
<p>

$$
\begin{align*}
    \xv_k &amp; = \frac{\Av^k \xv_0}{\|\Av^k \xv_0\|} = \frac{c_1 \lambda_1^k \vv_1 + \cdots + c_n \lambda_n^k \vv_n}{\|c_1 \lambda_1^k \vv_1 + \cdots + c_n \lambda_n^k \vv_n\|} \\
    &amp; = \frac{c_1}{|c_1|} \left( \frac{\lambda_1}{|\lambda_1|} \right)^k \frac{\vv_1 + \frac{c_2}{c_1} (\frac{\lambda_2}{\lambda_1})^k \vv_2 + \cdots + \frac{c_n}{c_1} (\frac{\lambda_n}{\lambda_1})^k \vv_n}{\| \vv_1 + \frac{c_2}{c_1} (\frac{\lambda_2}{\lambda_1})^k \vv_2 + \cdots + \frac{c_n}{c_1} (\frac{\lambda_n}{\lambda_1})^k \vv_n \|} \\
    &amp; = \sgn(c_1)~(\sgn(\lambda_1))^k~\frac{\vv_1 + \frac{c_2}{c_1} (\frac{\lambda_2}{\lambda_1})^k \vv_2 + \cdots + \frac{c_n}{c_1} (\frac{\lambda_n}{\lambda_1})^k \vv_n}{\| \vv_1 + \frac{c_2}{c_1} (\frac{\lambda_2}{\lambda_1})^k \vv_2 + \cdots + \frac{c_n}{c_1} (\frac{\lambda_n}{\lambda_1})^k \vv_n \|} \\
    &amp; \rightarrow \sgn(c_1)~(\sgn(\lambda_1))^k \vv_1, \qquad \lim*{k \rightarrow \infty} \left( \frac{\lambda_i}{\lambda_1} \right)^k = 0
\end{align*}
$$
</p>

<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="237" class="slide " data-line="237" data-h="2" data-v="2">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>Power Method</h5></div></div>
<p>已证 <span class="mathjax-exps">$\xv_k \rightarrow \sgn(c_1)~(\sgn(\lambda_1))^k \vv_1$</span>，分两种情况：</p>
<ul>
<li><span class="mathjax-exps">$\lambda_1 &gt; 0$</span>，则<span class="mathjax-exps">$\sgn(\lambda_1) = 1$</span>，<span class="mathjax-exps">$\xv_{k-1} \approx \sgn(c_1) \vv_1$</span>，<span class="mathjax-exps">$\xv_k \approx \sgn(c_1) \vv_1$</span>，于是</li>
</ul>
<p>

$$
\begin{align*}
    \small{\sgn(c_1) \vv_1 \approx \xv_k = \frac{\Av \xv_{k-1}}{\|\Av \xv_{k-1}\|} \approx \frac{\Av \sgn(c_1) \vv_1}{\|\Av \xv_{k-1}\|} = \frac{\sgn(c_1) \lambda_1 \vv_1}{\|\Av \xv_{k-1}\|} \Longrightarrow \lambda_1 \approx \|\Av \xv_{k-1}\|}
\end{align*}
$$
</p>

<ul>
<li><span class="mathjax-exps">$\lambda_1 &lt; 0$</span>，<span class="mathjax-exps">$\xv_k$</span>交替趋向<span class="mathjax-exps">$\pm \sgn(c_1) \vv_1$</span>，不妨设<span class="mathjax-exps">$\xv_{k-1} \approx \sgn(c_1) \vv_1$</span>，<span class="mathjax-exps">$\xv_k \approx -\sgn(c_1) \vv_1$</span></li>
</ul>
<p>

$$
\begin{align*}
    \small{-\sgn(c_1) \vv_1 \approx \xv_k = \frac{\Av \xv_{k-1}}{\|\Av \xv_{k-1}\|} \approx \frac{\Av \sgn(c_1) \vv_1}{\|\Av \xv_{k-1}\|} = \frac{\sgn(c_1) \lambda_1 \vv_1}{\|\Av \xv_{k-1}\|} \Longrightarrow \lambda_1 \approx -\|\Av \xv_{k-1}\|}
\end{align*}
$$
</p>

<p><span class="yellow"><i class="fa fa-weixin" aria-hidden="true"></i></span> Power Method 的条件中<span class="mathjax-exps">$\Av$</span>对称不是必需的，虽然非对称矩阵不一定能对角化，但通过转换成若尔当标准型依然可以证明前面的结论</p>
<p><span class="yellow"><i class="fa fa-weixin" aria-hidden="true"></i></span> 对于有向图，邻接矩阵<span class="mathjax-exps">$\Av$</span>非对称，但依然可以使用 Power Method</p>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section><section vertical="true" data-notes="" lineno="273" class="slide " data-line="273" data-h="2" data-v="3">
<div class="header"><img class="hust" src=""><div class="title"><hr class="hr_top"><h5>Power Method</h5></div></div>
<ul>
<li>Medici 的度数是 5，最大的家族</li>
<li>Guadagn 和 Strozzi 的度数是 4</li>
</ul>
<ul class="sparse" markdown="1">
<ul>
<li>Medici 的度数是 5，最大的家族</li>
<li>Guadagn 和 Strozzi 的度数是 4</li>
<li>Guadagn 和 Strozzi 的度数是 4</li>
</ul>
</ul>
<div class="sparse" markdown="1">
<p>ssssss</p>
<p>ssssss</p>
<p>ssssss</p>
</div>
<p>ssssss</p>
<p>ssssss</p>
<p>ssssss</p>
<div class="footer"><hr class="hr_bottom"><div class="multi_column"><h6 class="bottom_left">图神经网络导论</h6><h6 class="bottom_center">传统方法</h6><h6 class="bottom_right">tengzhang@hust.edu.cn</h6></div></div>
</section></section>
      </div>
    </div>
    
      </div>
      
      
    
    
      <script>
        Reveal.initialize({"margin":0,"transition":"none","enableSpeakerNotes":true,"dependencies":[{"src":"../common/js/notes/notes.js","async":true}]})
      </script>
      
    
    
    
    
    
    
  
    </body></html>